@default-height: 28px;
@small-height: 24px;
@medium-height: 32px;
@large-height: 36px;

@transition: all 0.2s ease-in-out;

@type-padding: {
  default: 0 4px;
  small: 0 2px;
  medium: 0 6px;
  large: 0 8px;
};

.burger-select {
  position: relative;

  .delete,
  .down {
    cursor: pointer;
    border-radius: 50%;
    transition: @transition;
    user-select: none;
    -webkit-user-select: none;
    width: 16px;

    &.small {
      width: 14px;
    }

    &.medium {
      width: 18px;
    }

    &.large {
      width: 20px;
    }

    &.disabled {
      cursor: not-allowed;
    }
  }

  .delete {
    pointer-events: all;
    border: 1px solid #303030;
  }

  .up {
    transform: rotate(-180deg);
  }

  &-option {
    background-color: #fff;
    position: absolute;
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    width: 100%;
    max-height: 256px;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
    z-index: 1;
    transition: @transition;
    top: @default-height;
    line-height: @default-height;
    font-size: 16px;
    will-change: height;

    &.small {
      top: @small-height;
      line-height: @small-height;
      font-size: 14px;
    }

    &.medium {
      top: @medium-height;
      line-height: @medium-height;
      font-size: 18px;
    }

    &.large {
      top: @large-height;
      line-height: @large-height;
      font-size: 20px;
    }

    &.show {
      opacity: 1;
      box-shadow: 0 1px 4px 1px #ccc;
      padding: 4px 0;
      margin: 4px 0;
    }

    &.hide {
      opacity: 0;
      box-shadow: 0;
      padding: 0;
      margin: 0;
    }

    li {
      box-sizing: border-box;
      width: 100%;
      padding: 0 8px;
      transition: @transition;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;

      each(@type-padding, {
        &.@{key} {
          padding: @value;
        }
      });

      &:hover {
        background-color: #f0f0f0;
        cursor: pointer;
      }

      &.active {
        background-color: #daebff;
      }
    }
  }
}
